package com.udi.project.business.local.di.mapper;


import com.udi.project.business.base.domain.BaseCorpVo;
import com.udi.project.business.local.di.domain.DtDi;
import com.udi.project.business.upload.diup.domain.Product;
import com.udi.project.business.pojo.damain.*;
import com.udi.project.business.pojo.damain.Package;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author Admin
 * di管理数据库接口
 */
@Mapper
public interface DiMangeMapper {
    /**
    *
     * @Description:查询DI列表
     * @param DtDi di码
     * @return: java.util.List<com.udi.project.business.diManage.entity.DiMange> DI列表
     * @Date: 2021/8/9 11:15
     */
     List<DtDi> selectDi(DtDi DtDi);

    /**
     *
     * @Description:查询DI列表
     * @param DtDi di码
     * @return: java.util.List<com.udi.project.business.diManage.entity.DiMange> DI列表
     * @Date: 2021/8/9 11:15
     */
    List<DtDi> selectDils(DtDi DtDi);

     /**
      * @param id 根据di表id查询一行信息
      [di]* @return com.udi.project.business.pojo.damain.DtDi
      * @author yuxin
      * @creed: Talk is cheap,show me the code
      * @date 2021/10/13 10:21
      */
     DtDi selectDiById(Integer id);


     DtDi selectDilsById(Integer id);

    /**返回包装指示符所有信息*/
    public List<dtPkg> selectPkg();

    /**
    *
     * @Description:删除指定DI 删除DI的同时会将UDI PI一起删除 操作需谨慎
     * @param code DI编号
     * @return: int 影响条数
     * @Date: 2021/8/9 11:17
     */
    int delectDi(@Param("code") String[] code);

    /**
    *
     * @Description:插入di码
     * @param udiMange di实体类
     * @return: int 影响条数
     * @Date: 2021/8/9 11:19
     */
    int insertDi(@Param("udiMange") List<DtDi> udiMange);

    /**
     *
     * @Description:更新DI状态和使用途径
     * @param di 更新内容 字段与实体DiMange保持一致
     * @return: int
     * @Date: 2021/8/9 11:29
     */
    public int updateStatu(@Param("di") List<DtDi> di);

    /**
    *
     * @Description:更新DI
     * @param udiMange 更新内容 字段与实体DiMange保持一致
     * @return: int
     * @Date: 2021/8/9 11:29

    public int updateDi(@Param("udiMange") List<DtDi> udiMange);
     */

    /**
    *
     * @Description: 插入DI详细信息
     * @param identity 详细信息
     * @return: int
     * @Date: 2021/8/13 15:34
     */
    public int insertInformation(@Param("identity") List<Product> identity);


    /**
     *
     * @Description: 更新DI详细信息
     * @param identity 详细信息
     * @return: int
     * @Date: 2021/8/13 15:34
     */
    public int updateInformation(@Param("identity") List<Product> identity);


    /**
     *
     * @Description: 删除DI详细信息
     * @param di_id di_id
     * @return: int
     * @Date: 2021/8/13 15:34
     */
    public int delectInformation(String di_id);


    /**
     *
     * @Description: 删除DI详细信息
     * @param di DI
     * @return: int
     * @Date: 2021/8/13 15:34
     */
    public List<Product> selectInformation(String di);


    /**
    *
     * @Description: 查询包装标识信息带相应的DI码 支持批量查询
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Package> selectpkgDi(@Param("id") List<String> id);

    /**
     *
     * @Description: 查询包装标识信息
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Package> selectpkg(String id);


    /**
    *
     * @Description: 新增包装标识信息支持批量
     * @param packag 包装标识信息
     * @return: int
     * @Date: 2021/8/18 15:12
     */
    public int insertPkg(@Param("package") List<Package> packag);

    /**
     *
     * @Description: 更新包装标识信息 支持批量
     * @param packag 包装标识信息
     * @return: int
     * @Date: 2021/8/18 15:12
     */
    public int updatePkg(@Param("package") List<Package> packag);

    /**
     *
     * @Description: 删除包装标识信息 支持批量
     * @param id di_id
     * @return: int
     * @Date: 2021/8/18 15:12
     */
    public int deletePkg(@Param("package") List<Package> id);



    /**
     *
     * @Description: 查询存储或操作信息带相应的DI码 支持批量查询
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Storage> selectStorageDi(@Param("id") List<String> id);


    /**
     *
     * @Description: 查询存储或操作信息
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Storage> selectStorage(String id);

    /**
    *
     * @Description: 插入存储或操作信息
     * @param storage 存储或操作信息
     * @return: int 影响条数
     * @Date: 2021/8/18 15:17
     */
    public int insertStorage(@Param("storage") List<Storage> storage);


    /**
     *
     * @Description: 插更新存储或操作信息
     * @param storage 存储或操作信息
     * @return: int 影响条数
     * @Date: 2021/8/18 15:17
     */
    public int updateStorage(@Param("storage") List<Storage> storage);


    /**
     *
     * @Description: 删除包装标识信息 支持批量
     * @param id di_id
     * @return: int
     * @Date: 2021/8/18 15:17
     */
    public int deleteStorage(@Param("storage") List<Storage> id);




    /**
     *
     * @Description: 查询临床尺寸信息带相应的DI码 支持批量查询
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Clinical> selectClinicalDi(@Param("id") List<String> id);


    /**
     *
     * @Description: 查询存储或操作信息
     * @param id di_id
     * @return: java.util.List<com.udi.project.business.pojo.damain.Package>
     * @Date: 2021/8/18 15:10
     */
    public List<Clinical> selectClinical(String id);

    /**
     *
     * @Description: 插入存储或操作信息
     * @param clinical 存储或操作信息
     * @return: int 影响条数
     * @Date: 2021/8/18 15:17
     */
    public int insertClinical(@Param("Clinical") List<Clinical> clinical);


    /**
     *
     * @Description: 插更新存储或操作信息
     * @param clinical 存储或操作信息
     * @return: int 影响条数
     * @Date: 2021/8/18 15:17
     */
    public int updateClinical(@Param("Clinical") List<Clinical> clinical);


    /**
     *
     * @Description: 删除包装标识信息 支持批量
     * @param id di_id
     * @return: int
     * @Date: 2021/8/18 15:17
     */
    public int deleteClinical(@Param("Clinical") List<Clinical> id);
    /**
     *
     * @param id 查询厂商识别码 
     [id]* @return java.util.List<com.udi.project.business.base.domain.BaseCorpVo>
     * @author yuxin
     * @creed: Talk is cheap,show me the code
     * @date 2021/10/13 15:41
     */
    
    public List<BaseCorpVo> getdept(@Param("id")String id);
}
